package com.authstr.basic.exception;


public enum BaseExceptionEnum implements ExceptionEnumInterface {

    SUCCESS("0","操作成功"),
    SERVER_ERROR("500", "服务器异常"),
    PARA_ERROR("400", "请求参数错误"),
    UNKNOWN_ERROR("-1", "未知异常"),


    /**
     * 账户问题
     */
    NOT_LOGIN("401", "当前用户未登录"),
    USER_ALREADY_REG("401", "该用户已经注册"),
    USER_NOT_EXISTED("400", "没有此用户"),
    ACCOUNT_FREEZED("401", "账号被冻结"),
    OLD_PWD_NOT_RIGHT("402", "原密码不正确"),
    TWO_PWD_NOT_MATCH("405", "两次输入密码不一致"),
    AUTH_REQUEST_ERROR("400", "账号密码错误"),

    /**
     * 权限和数据问题
     */
    DB_RESOURCE_NULL("400", "数据库中没有该资源"),
    NO_PERMITION("405", "权限异常"),
    NO_AUTHORIZATION("406", "无授权访问"),
    REQUEST_INVALIDATE("400", "请求数据格式不正确"),
    INVALID_KAPTCHA("400", "验证码不正确"),
    CANT_DELETE_ADMIN("600", "不能删除超级管理员"),
    CANT_FREEZE_ADMIN("600", "不能冻结超级管理员"),
    CANT_CHANGE_ADMIN("600", "不能修改超级管理员角色"),

    /**
     * 错误的请求
     */
    MENU_PCODE_COINCIDENCE("400", "菜单编号和副编号不能一致"),
    EXISTED_THE_MENU("400", "菜单编号重复，不能添加"),
    DICT_MUST_BE_NUMBER("400", "字典的值必须为数字"),
    REQUEST_NULL("400", "请求有错误"),
    SESSION_TIMEOUT("400", "会话超时"),

    /**
     * token异常
     */
    TOKEN_EXPIRED("700", "token过期"),
    TOKEN_ERROR("700", "token验证失败"),

    /**
     * 签名异常
     */
    SIGN_ERROR("700", "签名验证失败");


    private String code;
    private String message;
    BaseExceptionEnum(String code, String message){
        this.code=code;
        this.message=message;
    }


    @Override
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    @Override
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}
